莊家指定 1 ~ 100 間的一個整數。
玩家說出數字後,莊家回答 "太大了" 或 "太小了",直到玩家猜中為止。

功能:

  • 設定answer變數,存 1 ~ 100 中的隨機一個值。
  • 設定guess變數,代表玩家猜的數字。
    • 玩家可重複猜數字
    • 比對answer 和 guess,判斷太大或太小。
  • 若兩者相等,則結束遊戲,並結束時計算玩家猜了幾次。

規格:

  • 宣告3個變數 answer、guess、count當前回合數。
  • 程式執行過程,用console.log()把猜數字過程輸出到console中觀察。
  • 運用 while loop讓玩家持續猜數字,直到猜對才跳出while loop。
  • 運用if / else 來根據比對數值太大或太小或猜對的情況,切換不同流程。
    執行畫面參考
    執行畫面參考
    第一次寫法
    第一次寫法

L12 while 的條件可改成 while (guess !== answer)


L14 count += 1 也就是count = count + 1 ,右邊加1後再賦值到左邊的count。
意思和 ++count (中間無空格)相同,這邊沒有指派賦值所以也可寫成count++
count
count +=1 變數位置寫在while loop 中的上方,猜數字後,再依比大小條件進入判斷式,即可得count的值,而非在判斷式中各寫count +=1,這樣不夠簡潔。


L23 若猜對答案的判斷式,放在if 或else if,而非最後一個else。在if 或else if執行動作後,要記得 加上break,中斷目前的迴圈。若沒有加break,即使猜對答案,也會在while loop 中無限迴圈。
猜對答案的判斷式若在if 或else if,執行動作後要記得 **加上break,中斷目前的迴圈**
若把猜對答案情形寫在else,執行完console.log後就會結束if判斷式,且while loop的條件為while (guess !== answer),猜對答案不符合while loop條件,所以也就結束while loop。


#Math.floor #Math.random #break #x++ #While Loop #If Else







Related Posts

redis 套件的 Property 'on' does not exist on type 'RedisClientType'

redis 套件的 Property 'on' does not exist on type 'RedisClientType'

【文件筆記】Redux 官方文件

【文件筆記】Redux 官方文件

firebase messaging

firebase messaging


Comments